Streaming online content while connected to a network is a popular method of delivering requested media content from networked servers for consumption by a content consumer. One common problem often encountered with streaming online content is that the network connecting, for example, a content server and a receiving system (e.g., a desktop computer or a mobile device such as a Smartphone or tablet computer) associated with a content consumer may have transient fluctuations in its ability to deliver the content, resulting in interruptions in the streaming of the media content, and the disruption of consumption (which may also be referred to herein as “playback”) of the content. Various methods have been proposed to mitigate this issue including content compression to reduce the delivery rate, dynamic real-time encoding to reduce the delivery rate/playback-quality to match the network capability, and pre-buffering a short segment of the content before allowing consumption to start and thereafter attempting to fill the buffer faster than the content can be consumed. This last streaming method has become known as progressive download (or “PD”), and the technique is intended to build up a safety margin in order to be able to maintain continuous playback during brief intervals when the server is unable to maintain the delivery rate to the receiver over the network.
While designed to reduce and avoid interruptions, progressive download is not immune to network impairments which persist long enough to empty a buffer on a system receiving the content. In those cases, the playback session is forced to halt until the buffer can again be re-filled and the session recommences. It is therefore a common experience that existing progressive download techniques often fail to provide a continuous playback session depending on the capabilities of the network.
Another growing problem is the impact that streaming large content files has on data networks (which may include wireless, wired, and/or fiber networks). “Large” media content has the signature feature of consuming significant amounts of time and network resources during its delivery to or from an end user device. Commonly, consumer access networks are designed for delivery of short bursts of data and network resource use and are not intended for long-term continuous use such as streaming media content (e.g., audio, video, and/or other types of content data). Streaming media content is widely acknowledged to be a principal challenge to network traffic engineers who try to satisfy the peak use demands of many users with limited network resources. The typical outcome of widespread streaming adoption is network congestion which often is exhibited by slow network response for all users and their applications.
During peak periods of network usage (e.g., when a large volume of media content and/or other types of data are being transmitted over the network), the ability of the network to quickly and efficiently relay data from one network system to another network system becomes severely degraded. That is, as more and more network users connect to the network to download large amounts of data, the competition for the finite amount of available network bandwidth and resources (e.g., routers, servers, databases, and so forth) invariably results in each network user experiencing degraded services (e.g., slower upload and download speeds and data streaming interruptions).